package com.libui.thirdpartsdk.share.models

enum class ShareObjectType(val type: Int, val title: String) {
    URL(1 shr 0, "url"),
    FILE(1 shr 1, "file"),
    IMAGE(1 shr 2, "image"),
    @Suppress("SpellCheckingInspection")
    MINIAPP(1 shr 3, "miniApp"),
    CUSTOMIZE(1 shr 4, "customize"),
    ALL(URL.type or FILE.type or IMAGE.type or MINIAPP.type or CUSTOMIZE.type, "all");

    companion object {
        val allTypes: Map<String, ShareObjectType>
            get() = mapOf(
                "url" to URL,
                "file" to FILE,
                "image" to IMAGE,
                "miniApp" to MINIAPP,
                "customize" to CUSTOMIZE,
                "all" to ALL,
            )
    }
}